package com.eastmelon.udp;

import java.net.DatagramPacket;
import java.net.DatagramSocket;

/**
 * @author Administrator
 *思路：
 *1.定义udpsocket服务
 *2.定义一个数据包，因为要存储接受到的字节数据
 *因为数据包对象中有更多功能可以提取字节数据中的不同信息
 *3.通过socket服务的receive方法将接受到的数据存入已经定义好的数据包中
 *4.通过数据包对象的特有功能。将这些不同的数据取出，打印在控制台上
 *5.关闭资源
 */
public class UdpRece {
	
	public static void main(String[] args) throws Exception {
		//1.创建udp服务
		DatagramSocket ds=new DatagramSocket(1001);
		while(true){
			//2.定义数据包,存储数据
			byte[] buf=new byte[1024];
			DatagramPacket dp=new DatagramPacket(buf,buf.length);
			//3.接受
			ds.receive(dp);//阻塞方法
			//4.通过数据包方法获取数据
			String ip=dp.getAddress().getHostAddress();
		    String data=new String(dp.getData(),0,dp.getLength());
		    System.out.println(ip+".."+data);
		    //5.关闭
		}

	}
}
